package com.syh.jn.scm.service.api.operation.system;

import cn.redscarf.commons.wrapper.Wrapper;
import com.syh.jn.scm.dto.operation.system.TerminaAccountOfPhone.TerminalAccountOfPhoneVo;
import com.syh.jn.scm.dto.operation.system.TerminaAccountOfPhone.TerminalAccountVo;
import com.syh.jn.scm.dto.supplier.system.supplierAccountOfPhone.SupplierAccountOfPhoneMto;
import com.syh.jn.scm.dto.supplier.system.supplierAccountOfPhone.SupplierAccountOfPhoneSto;
import com.syh.jn.scm.dto.supplier.system.supplierAccountOfPhone.SupplierAccountOfPhoneVo;
import com.syh.jn.scm.service.core.CreateService;
import com.syh.jn.scm.service.core.DeleteService;
import com.syh.jn.scm.service.core.ReadService;
import com.syh.jn.scm.service.core.UpdateService;

import java.util.List;

/**
 * Created by soci.song on 2018/12/13.
 */
public interface TerminalAccountOfPhoneService extends ReadService<TerminalAccountOfPhoneVo,Long>,DeleteService<Long> {

  /**
   * 绑定常规账号
   * @param id 手机账号id
   * @param accountId 常规账号id
   */
  void binding(Long id, Long accountId);

  /**
   * 解除与常规账号的绑定
   * @param id 手机账号id
   * @param accountId 常规账号id
   */
  void untying(Long id, Long accountId);

  /**
   * 启用手机账号
   * @param id
   */
  void enable(Long id);

  /**
   * 停用手机账号
   * @param id
   */
  void disable(Long id);

  /**
   * 获取常规账号
   * @param wrapper
   * @return
   */
  List<TerminalAccountVo> getAccounts(Wrapper wrapper);

  /**
   * 分页获取常规账号
   * @param wrapper
   * @param startRow
   * @param pageCount
   * @return
   */
  List<TerminalAccountVo> findAccountListPage(Wrapper wrapper, int startRow, int pageCount);

  /**
   * 统计常规账号数量
   * @param wrapper
   * @return
   */
  int getAccountCount(Wrapper wrapper);
}
